package com.ruoyi.core.mapper;

import java.util.List;
import java.util.Map;

import com.ruoyi.core.domain.GiftCard;
import com.ruoyi.core.domain.vo.GiftCardVo;
import org.apache.ibatis.annotations.Param;

/**
 * 礼品卡Mapper接口
 * 
 * @author lgc
 * @date 2020-08-08
 */
public interface GiftCardMapper 
{
    /**
     * 查询礼品卡
     * 
     * @param giftCardId 礼品卡ID
     * @return 礼品卡
     */
    public GiftCard selectGiftCardById(Long giftCardId);

    /**
     * 查询礼品卡列表
     * 
     * @param giftCard 礼品卡
     * @return 礼品卡集合
     */
    public List<GiftCardVo> selectGiftCardList(GiftCard giftCard);

    /**
     * 新增礼品卡
     * 
     * @param giftCard 礼品卡
     * @return 结果
     */
    public int insertGiftCard(GiftCard giftCard);

    /**
     * 修改礼品卡
     * 
     * @param giftCard 礼品卡
     * @return 结果
     */
    public int updateGiftCard(GiftCard giftCard);

    /**
     * 删除礼品卡
     * 
     * @param giftCardId 礼品卡ID
     * @return 结果
     */
    public int deleteGiftCardById(Long giftCardId);

    /**
     * 批量删除礼品卡
     * 
     * @param giftCardIds 需要删除的数据ID
     * @return 结果
     */
    public int deleteGiftCardByIds(String[] giftCardIds);

    Integer selectCount(@Param("code")String code,@Param("userId")Long userId);

    int updateStatesByIds(@Param("idArray") Long[] idArray,@Param("userId") Long userId);

    List<GiftCardVo> selectGiftCardByIds(@Param("idArray")Long[] idArray,@Param("userId")Long userId);

    int updateStatesByCodes(Map map);

//    GiftCardVo selectGiftCardByCodeId(@Param("i") Long i,@Param("userId")Long userId);

    GiftCardVo selectGiftCardByIndex(@Param("i") Long i,@Param("userId")Long userId);
}
